Saltar para o conteúdo

ELEMENTAR (complexidade)

Origem: Wikipédia, a enciclopédia livre.

O conteúdo desta página é tradução do artigo em inglês en:ELEMENTARY;

Na teoria da complexidade computational, a classe de complexidade ELEMENTAR das funções recursivas elementares é a união das classes

O nome foi criado por László Kalmár, no contexto de funções recursivas e de indecidibilidade; a maioria dos problemas nesta classe está longe de ser elementar. Alguns problemas naturais de recursão estão fora de ELEMENTAR, sendo assim NÃO-ELEMENTARES. Notavelmente, existem problemas recursivos primitivos que não pertencem a ELEMENTAR. Sabemos que

LOWER-ELEMENTARY ⊊ EXPTIME ⊊ ELEMENTARY ⊊ PR ⊊ R

Ao passo que ELEMENTAR possui aplicações limitadas de exponenciação (por exemplo, ), PR permite hiper operadores mais gerais (por exemplo, tetração) que não estão contidos em ELEMENTAR.

As definições de funções recursivas elementares são as mesmas que as de funções recursivas primitivas, exceto que a recursão primitiva é substituída por somatório e produtório limitados. Todas as funções trabalham sobre números naturais. As funções básicas, todas elas recursivas elementares, são:

  1. Função Zero. Retorna zero: f(x) = 0.
  2. Função Sucessor: f(x) = x + 1. Isto é comumente denotado por S, como em S(x). Repetindo-se a função sucessor pode-se atingir a função de adição.
  3. Funções de projeção: estas são usadas para ignorar argumentos. Por exemplo, f(a, b) = a é uma função de projeção.
  4. Função Subtração: f(x, y) = xy se y < x, ou 0 se yx. Esta função é usada para definir condicionais e para definir iteração.

Destas funções básicas, podemos construir outras funções recursivas elementares.

  1. Composição: applicar valores de uma função elementar recursiva qualquer como argumento para outra função elementar recursiva. Em f(x1, ..., xn) = h(g1(x1, ..., xn), ..., gm(x1, ..., xn)) é recursiva elementar se h é recursiva elementar e cada gi é também recursiva elementar.
  2. Somatório limitado: é recursiva elementar se g é recursiva elementar.
  3. Produtório limitado: é recursiva elementar se g é recursiva elementar.

Funções elementares recursivas inferiores

[editar | editar código-fonte]

Funções elementares recursivas inferiores seguem as definições acima, exceto para o Produtório, que não é permitido. Isto é, uma função elementar recursiva inferior deve ser uma função Zero, Sucessor ou de Projeção, pode ser também uma composição de outras funções elementares recursivas inferiores ou ainda o Somatório limitado de outra função elementar recursiva inferior.

Enquanto funções elementares recursivas têm crescimento potencialmente mais que exponencial, funções elementares recursivas inferiores têm crescimento polinomial.

Base para ELEMENTAR

[editar | editar código-fonte]

A classe de funções elementares coincide com o fecho com respeito à composição das projeções e um dos seguintes conjuntos de funções: , , , onde é a função Subtração definida acima.[1][2]

Caracterização Descritiva

[editar | editar código-fonte]

Em complexidade descritiva, ELEMENTAR é equivalente à classe de consultas de ALTA ORDEM (HO - HIGH ORDER).[3] Isto significa que toda linguagem na classe de complexidade ELEMENTAR pode ser escrita como uma fórmula de alta ordem que somente é verdadeira para os elementos nesta linguagem. Mais precisamente, , onde indica uma torre de i exponenciações e é a classe de consultas que começam com quantificadores existenciais de iésima ordem e então uma fórmula de (i − 1)ésima ordem.

  1. Mazzanti, S., "Plain Bases for Classes of Primitive Recursive Functions", Mathematical Logic Quarterly, 48 (2002) 93–104
  2. S. S. Marchenkov, "Superpositions of elementary arithmetic functions", Journal of Applied and Industrial Mathematics, September 2007, Volume 1, Issue 3, pp 351-360, doi:10.1134/S1990478907030106.
  3. Lauri Hella and José María Turull-Torres (2006), «Computing queries with higher-order logics», Theoretical Computer Science, ISSN 0304-3975, 355 (2): 197–214, doi:10.1016/j.tcs.2006.01.009